package xc.com.cms.service;

import xc.com.cms.domain.CmsPage;
import xc.com.cms.request.QueryPageRequest;
import xc.com.common.PageVo;
import xc.com.common.Result;

import java.util.Map;

public interface CmsPageService {
  /**
   * cms条件分页查询
   * @param page 页
   * @param size   条
   * @param queryPageRequest cms条件
   * @return
   */
  public PageVo<CmsPage> findList(Integer page, Integer size, QueryPageRequest queryPageRequest);

  /**
   * 添加cms数据
   * @param cmsPage cms数据
   * @return
   */
  Result add(CmsPage cmsPage);

  /**
   * 根据id查询cms数据
   * @param id 查询id
   * @return
   */
  CmsPage getById(String id);

  /**
   * 根据id修改cms数据
   * @param id 修改id
   * @param cmsPage 修改数据
   * @return
   */
  Result update(String id, CmsPage cmsPage);

  /**
   * 根据id删除cms数据
   * @param id 删除id
   * @return
   */
  Result delete(String id);

  /**
   * 页面静态化
   * @param pageId
   * @return
   */
  public String getPageHtml(String pageId);

  /**
   * 页面静态化
   * @param template
   * @param model
   * @return
   */
  public String generateHtml(String template, Object model);


  /**
   * 获取页面模板
   * @param pageId
   * @return
   */
  public String getTemplateByPageId(String pageId);

  /**
   * 获取页面模型数据
   * @param pageId
   * @return
   */
  public Map getModelByPageId(String pageId);

  /**
   *
   * @param pageId
   * @return
   */
  /**
   * 页面发布
   * @param pageId
   * @return
   */
  public Result postPage(String pageId);

  String getCourseHtml(String pageId);
}
